package com.xinke.module.system.service.user;

import java.util.*;
import javax.validation.*;
import com.xinke.module.system.model.vo.user.*;
import com.xinke.module.system.model.entity.user.UserPostDO;
import com.xinke.component.common.pojo.PageResult;
import com.xinke.component.common.pojo.PageParam;
import org.apache.poi.ss.formula.functions.T;

/**
 * 用户和岗位关联 Service 接口
 *
 * @author yzx
 */
public interface UserPostService {

    /**
     * 创建用户和岗位关联
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createUserPost(@Valid UserPostSaveReqVO createReqVO);

    /**
     * 更新用户和岗位关联
     *
     * @param updateReqVO 更新信息
     */
    void updateUserPost(@Valid UserPostSaveReqVO updateReqVO);

    /**
     * 删除用户和岗位关联
     *
     * @param userPostId 编号
     */
    void deleteUserPost(Long userPostId);

    /**
     * 获得用户和岗位关联
     *
     * @param userPostId 编号
     * @return 用户和岗位关联
     */
    UserPostDO getUserPost(Long userPostId);

    /**
     * 获得用户和岗位关联分页
     *
     * @param pageReqVO 分页查询
     * @return 用户和岗位关联分页
     */
    PageResult<UserPostDO> getUserPostPage(UserPostPageReqVO pageReqVO);

    boolean insertBatch(List<UserPostDO> userPostDOList);
}